home *** CD-ROM | disk | FTP | other *** search
/ Item MB Quick & Easy 2.0 / Item MB Quick & Easy 2.0.iso / mbfacad / 0043127.lsp < prev    next >
Lisp/Scheme  |  1998-03-15  |  5KB  |  125 lines

  1. ;=============431.27 DOPPELSCHARNIER PA 6
  2.  
  3.  
  4. (defun C:0043127Z1 (/ P1 P2 L n i Wi Wix LGes P)
  5.    (EAITDBL "0043127")
  6.    (princ (strcat "\n\n" EAITbez1))
  7.    (EAITvari)
  8.    (EAITvars)
  9.    (setvar "ORTHOMODE" 1)
  10.    (setvar "OSMODE" 9)
  11.    (setq L (- EAITlmin 1))
  12.    (while (< L EAITlmin)
  13.       (EAITbpt nil nil (strcat (EAITmg "mb_mld10" "006")" "(EAITmg "mb_mld10" "015")))    ;Startpunkt (Return = relativ):
  14.       (setq P1 (getpoint))
  15.       (if (= P1 nil)(setq P1 (EAITrpt)))
  16.       (EAITbpt nil nil (strcat (EAITmg "mb_mld10" "007")" "(EAITmg "mb_mld10" "015")))    ;Endpunkt (Return = relativ): 
  17.       (setq P2 (getpoint P1))
  18.       (initget 4 "?")
  19.       (EAITmsg "mb_mld12" "\n" "005" " ")            ;Anzahl der Scharniere (2,3,...,?): <2>
  20.       (setq n (getint))
  21.       (setq Wi   (angle P1 P2)     )
  22.       (setq Wix  (- (EAITbig Wi) 90)   )
  23.       (setq LGes (distance P1 P2)  )
  24.       (cond ((= n nil)(setq n 2))
  25.             ((= n  0 )(setq n 2))
  26.             ((= n "?")(progn
  27.                           (setq n (1+ (fix (+ (/ LGes 600) 0.5))))
  28.                           (if (< n 2)(setq n 2))
  29.                       )
  30.             )
  31.       )
  32.       (setq L    (/ (- LGes 160)(float (- n 1))))
  33.       (if (< L EAITlmin)(progn (EAITmsg "mb_mld12" "\n" "006" " ")(princ EAITlmin)(EAITmsg "mb_mld13" nil "006" nil)(EAITmsg "mb_mld12" " " "007" " ")))  
  34.                        ;Ungültige Eingabe: es werden min. 30mm je Scharnier benötigt!
  35.    )
  36.    (setq P (polar P1 Wi 80) )
  37.    (setvar "ORTHOMODE" 0)
  38.    (setvar "OSMODE" 0)
  39.    (repeat n
  40.          (EAITDBL "0043127")
  41.          (command EAITege (strcat EAITpfn "43127vz") P "" "" EAITofkei Wix
  42.                   EAITege (strcat EAITpfn "EAITinfo") (polar P (+ (- Wi (EAITgib 90)) (EAITgib 72)) 13.5) "" "" Wix
  43.                            EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  44.          )
  45.          (EAITDBL "0043465")
  46.       (command EAITege (strcat EAITpfn "EAITinfo") (polar P (+ (- Wi (EAITgib 90)) (EAITgib 7)) 30) "" "" Wix
  47.                            EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  48.          )
  49.          (setq P (polar P Wi L))
  50.    )
  51.    (EAITvarz2)
  52.    (princ)
  53. )
  54.  
  55.  
  56.  
  57.  
  58. (defun C:0043127Z2 (/ P1 P2 L n i Wi Wix LGes P)
  59.    (EAITDBL "0043127")
  60.    (princ (strcat "\n\n" EAITbez1))
  61.    (EAITvari)
  62.    (EAITvars)
  63.    (setvar "ORTHOMODE" 1)
  64.    (setvar "OSMODE" 9)
  65.    (setq L (- EAITlmin 1))
  66.    (while (< L EAITlmin)
  67.       (EAITbpt nil nil (strcat (EAITmg "mb_mld10" "006")" "(EAITmg "mb_mld10" "015")))    ;Startpunkt (Return = relativ):
  68.       (setq P1 (getpoint))
  69.       (if (= P1 nil)(setq P1 (EAITrpt)))
  70.       (EAITbpt nil nil (strcat (EAITmg "mb_mld10" "007")" "(EAITmg "mb_mld10" "015")))    ;Endpunkt (Return = relativ): 
  71.       (setq P2 (getpoint P1))
  72.       (initget 4 "?")
  73.       (EAITmsg "mb_mld12" "\n" "005" " ")            ;Anzahl der Scharniere (2,3,...,?): <2>
  74.       (setq n (getint))
  75.       (setq Wi   (angle P1 P2)     )
  76.       (setq Wix  (- (EAITbig Wi) 90)   )
  77.       (setq LGes (distance P1 P2)  )
  78.       (cond ((= n nil)(setq n 2))
  79.             ((= n  0 )(setq n 2))
  80.             ((= n "?")(progn
  81.                           (setq n (1+ (fix (+ (/ LGes 600) 0.5))))
  82.                           (if (< n 2)(setq n 2))
  83.                       )
  84.             )
  85.       )
  86.       (setq L    (/ (- LGes 160)(float (- n 1))))
  87.       (if (< L EAITlmin)(progn (EAITmsg "mb_mld12" "\n" "006" " ")(princ EAITlmin)(EAITmsg "mb_mld13" nil "006" nil)(EAITmsg "mb_mld12" " " "007" " ")))  
  88.                        ;Ungültige Eingabe: es werden min. 32mm je Scharnier benötigt!
  89.    )
  90.    (setq P    (polar P1 Wi 80) )
  91.    (setvar "ORTHOMODE" 0)
  92.    (setvar "OSMODE" 0)
  93.    (setq i 1)
  94.    (repeat n
  95.          (if (< i n)
  96.             (progn (command EAITege (strcat EAITpfn "43127sz") P "" "" EAITofkei Wix)
  97.                    (EAITDBL "0043127")
  98.                  (command EAITege (strcat EAITpfn "EAITinfo") (polar P (+ (- Wi (EAITgib 90)) (EAITgib 51)) 14) "" "" Wix
  99.                                    EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  100.                     )
  101.                     (EAITDBL "0043465")
  102.                  (command EAITege (strcat EAITpfn "EAITinfo") (polar P (- Wi (EAITgib 90)) 1.5) "" "" Wix
  103.                                    EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  104.                     )
  105.             )
  106.          (progn (command EAITege (strcat EAITpfn "43127sz") P "" "" EAITofkei Wix)
  107.                    (EAITDBL "0043127")
  108.                  (command EAITege (strcat EAITpfn "EAITinfo") (polar P (+ (- Wi (EAITgib 90)) (EAITgib 51)) 14) "" "" Wix
  109.                                    EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  110.                     )  
  111.                     (EAITDBL "0043465")
  112.                     (command EAITege (strcat EAITpfn "EAITinfo") (polar P (- Wi (EAITgib 90)) 1.5) "" "" Wix
  113.                                    EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  114.                     )
  115.          )
  116.          )
  117.          (setq P (polar P Wi L)
  118.                i (1+ i))
  119.    )
  120.    (EAITvarz2)
  121.    (princ)
  122. )
  123.  
  124. (princ)
  125.